#!/Users/whuanghkl/code/mygit/work2024/new2/mcp_test/.venv/bin/python3
# 这是一个示例 Python 脚本。

# 按 <no shortcut> 执行或将其替换为您的代码。
# 按 双击 ⇧ 在所有地方搜索类、文件、工具窗口、操作和设置。


import asyncio
from fastmcp import Client


# 异步调用MCP SSE服务的函数
async def call_mcp_sse(server_url, tool_name, params):
    # 创建客户端连接MCP SSE服务器
    async with Client(server_url, transport="sse") as client:
        # 调用指定的工具并传递参数
        result = await client.call_tool(tool_name, params)
        print(f"调用工具 '{tool_name}' 返回结果：\n{result}")


# 主入口函数
def main():
    # MCP SSE服务器地址，例如 http://localhost:8080/sse
    server_url = "http://localhost:8080/sse"

    # 你要调用的MCP工具名称，例如 "weather"
    tool_name = "weather"

    # 工具调用所需的参数字典，例如获取指定城市的天气
    params = {
        "location": "Hangzhou"
    }

    # 启动异步调用
    asyncio.run(call_mcp_sse(server_url, tool_name, params))


if __name__ == "__main__":
    main()
